fragment Url on VulnerabilityDetailUrl {
  type: __typename
  name
  href
}

fragment Diff on VulnerabilityDetailDiff {
  type: __typename
  name
  before
  after
}

fragment Code on VulnerabilityDetailCode {
  type: __typename
  name
  value
}

fragment FileLocation on VulnerabilityDetailFileLocation {
  type: __typename
  name
  fileName
  lineStart
  lineEnd
}

fragment ModuleLocation on VulnerabilityDetailModuleLocation {
  type: __typename
  name
  moduleName
  offset
}

fragment Commit on VulnerabilityDetailCommit {
  type: __typename
  name
  value
}

fragment Text on VulnerabilityDetailText {
  type: __typename
  name
  value
}

fragment Markdown on VulnerabilityDetailMarkdown {
  type: __typename
  name
  value
}

fragment Boolean on VulnerabilityDetailBoolean {
  type: __typename
  name
  value
}

fragment Int on VulnerabilityDetailInt {
  type: __typename
  name
  value
}

fragment NonNestedReportTypes on VulnerabilityDetail {
  ...FileLocation
  ...Url
  ...Diff
  ...Code
  ...Commit
  ...Markdown
  ...Text
  ...Int
  ...Boolean
  ...ModuleLocation
}

fragment ListFields on VulnerabilityDetailList {
  type: __typename
  name
}

fragment List on VulnerabilityDetailList {
  ...ListFields
  items {
    ...NonNestedReportTypes
    ... on VulnerabilityDetailList {
      ...ListFields
      items {
        ...NonNestedReportTypes
      }
    }
  }
}

fragment NamedList on VulnerabilityDetailNamedList {
  type: __typename
  name
  items {
    name
    fieldName
    value {
      ...NonNestedReportTypes
      ...Table
      ... on VulnerabilityDetailList {
        ...ListFields
        items {
          ...NonNestedReportTypes
        }
      }
    }
  }
}

fragment TableFields on VulnerabilityDetailTable {
  type: __typename
  name
  headers {
    ...NonNestedReportTypes
  }
  rows {
    row {
      ...NonNestedReportTypes
    }
  }
}

fragment Table on VulnerabilityDetailTable {
  type: __typename
  name
  headers {
    ...NonNestedReportTypes
  }
  rows {
    row {
      ...NonNestedReportTypes
      ...TableFields
    }
  }
}
